/*
 * HemisphericLight.h
 *
 *  Created on: 17/06/2013
 *      Author: gabriel
 */

#ifndef HEMISPHERICLIGHT_H_
#define HEMISPHERICLIGHT_H_

#include "matrix4f.h"
#include "shader.h"
#include <vector>

#ifdef MacOSX
#include "GLee.h"
#include <GLUT/glut.h>
#else
#include "GLee.h"
#include <GL/glut.h>
#endif


class HemisphericLight {
public:
	float skyColour[4];
	float groundColour[4];
	float position[4];
	Matrix4f matrix;
	Shader *program;

	HemisphericLight();

	virtual ~HemisphericLight();
	void setShader(Shader *program);
	void setColour(float skyColourColour[4], float groundColour[4]);
	void rotate(float angle, float x, float y, float z);
	void translate(float x, float y, float z);
	void setPosition(float x, float y, float z, float w);
	void setMatrix(Matrix4f &mat);
	void enable();
	void setup();
};

#endif /* HEMISPHERICLIGHT_H_ */
